1 package org.apache.maven.surefire.junitcore;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Map;
23
24 import org.apache.maven.surefire.report.ConsoleStream;
25 import org.apache.maven.surefire.report.ReporterFactory;
26 import org.apache.maven.surefire.testset.TestSetFailedException;
27
28
29
30
31 @ThreadSafe
32 public class MethodsParallelRunListener
33 extends ConcurrentRunListener
34 {
35 private volatile TestSet lastStarted;
36
37 private final Object lock = new Object();
38
39 public MethodsParallelRunListener( Map<String, TestSet> classMethodCounts, ReporterFactory reporterFactory,
40 boolean reportImmediately, ConsoleStream consoleStream )
41 throws TestSetFailedException
42 {
43 super( reporterFactory, consoleStream, reportImmediately, classMethodCounts );
44 }
45
46 @Override
47 public void checkIfTestSetCanBeReported( TestSet testSetForTest )
48 {
49 synchronized ( lock )
50 {
51 if ( testSetForTest != lastStarted )
52 {
53 if ( lastStarted != null )
54 {
55 lastStarted.setAllScheduled( getRunListener() );
56 }
57 lastStarted = testSetForTest;
58 }
59 }
60 }
61 }